package com.tao.codeblock_;

public class CodeBlockDetail02 {
    public static void main(String[] args) {
        A a = new A();
    }
}

class A{
    //普通的属性和代码块第二执行
    {//普通代码块
        System.out.println("A的普通代码块被执行");
    }
    private int n2 =getN2();//普通属性初始化

    //静态的属性和代码块第一执行
    static{//静态代码块
        System.out.println("A的静态代码块被执行");
    }
    private static int n1 =getN1();//静态属性初始化

    private static int getN1() {
        System.out.println("getN1()被执行");
        return 100;
    }
    private int getN2() {
        System.out.println("getN2()被执行");
        return 200;
    }

    //构造器最后执行
    public A() {
        System.out.println("A的构造器被执行");
    }
}
